﻿using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;

namespace Framework.SqlSugarCore.Abstractions
{
	/// <summary>
	/// 数据库上下文接口
	/// </summary>
	public interface ISqlSugarDbContextDependencies
	{
		/// <summary>
		/// 执行顺序
		/// </summary>
		int ExecutionOrder { get; }

		void OnSqlSugarClientConfig(ISqlSugarClient sqlSugarClient);
		void DataExecuted(object oldValue, DataAfterModel entityInfo);
		void DataExecuting(object oldValue, DataFilterModel entityInfo);

		void OnLogExecuting(string sql, SugarParameter[] pars);
		void OnLogExecuted(string sql, SugarParameter[] pars);

		void EntityService(PropertyInfo propertyInfo, EntityColumnInfo entityColumnInfo);
	}
}
